/* zTree插件加载目录的处理  */
var zTree;

var setting = {
    view: {
        dblClickExpand: false,
        showLine: false,
        expandSpeed: ($.browser.msie && parseInt($.browser.version) <= 6) ? "" : "fast"
//        $.browser.msie 
    },
    data: {
        key: {
            name: "resourceName"
        },
        simpleData: {
            enable: true,
            idKey: "resourceID",
            pIdKey: "parentID",
            rootPId: ""
        }
    },
    callback: {
        // 				beforeExpand: beforeExpand,
        // 				onExpand: onExpand,
        onClick: zTreeOnClick
    }
};

var curExpandNode = null;

function beforeExpand(treeId, treeNode) {
    var pNode = curExpandNode ? curExpandNode.getParentNode() : null;
    var treeNodeP = treeNode.parentTId ? treeNode.getParentNode() : null;
    for (var i = 0, l = !treeNodeP ? 0 : treeNodeP.children.length; i < l; i++) {
        if (treeNode !== treeNodeP.children[i]) {
            zTree.expandNode(treeNodeP.children[i], false);
        }
    }
    while (pNode) {
        if (pNode === treeNode) {
            break;
        }
        pNode = pNode.getParentNode();
    }
    if (!pNode) {
        singlePath(treeNode);
    }

}

function singlePath(newNode) {
    if (newNode === curExpandNode) return;
    if (curExpandNode && curExpandNode.open == true) {
        if (newNode.parentTId === curExpandNode.parentTId) {
            zTree.expandNode(curExpandNode, false);
        } else {
            var newParents = [];
            while (newNode) {
                newNode = newNode.getParentNode();
                if (newNode === curExpandNode) {
                    newParents = null;
                    break;
                } else if (newNode) {
                    newParents.push(newNode);
                }
            }
            if (newParents != null) {
                var oldNode = curExpandNode;
                var oldParents = [];
                while (oldNode) {
                    oldNode = oldNode.getParentNode();
                    if (oldNode) {
                        oldParents.push(oldNode);
                    }
                }
                if (newParents.length > 0) {
                    for (var i = Math.min(newParents.length, oldParents.length) - 1; i >= 0; i--) {
                        if (newParents[i] !== oldParents[i]) {
                            zTree.expandNode(oldParents[i], false);
                            break;
                        }
                    }
                } else {
                    zTree.expandNode(oldParents[oldParents.length - 1], false);
                }
            }
        }
    }
    curExpandNode = newNode;
}

function onExpand(event, treeId, treeNode) {
    curExpandNode = treeNode;
}

/** 用于捕获节点被点击的事件回调函数  **/
function zTreeOnClick(event, treeId, treeNode) {
    var zTree = $.fn.zTree.getZTreeObj("dleft_tab1");
    zTree.expandNode(treeNode, null, null, null, true);
    // 		zTree.expandNode(treeNode);
    // 规定：如果是父类节点，不允许单击操作
    if (treeNode.isParent) {
        // 			alert("父类节点无法点击哦...");
        return false;
    }
    // 如果节点路径为空或者为"#"，不允许单击操作
    if (treeNode.accessPath == "" || treeNode.accessPath == "#") {
        //alert("节点路径为空或者为'#'哦...");
        return false;
    }
    // 跳到该节点下对应的路径, 把当前资源ID(resourceID)传到后台，写进Session
    rightMain(treeNode.accessPath);

    if (treeNode.isParent) {
        $('#here_area').html('当前位置：' + treeNode.getParentNode().resourceName + '&nbsp;>&nbsp;<span style="color:#1A5CC6">' + treeNode.resourceName + '</span>');
    } else {
        $('#here_area').html('当前位置：系统&nbsp;>&nbsp;<span style="color:#1A5CC6">' + treeNode.resourceName + '</span>');
    }
};

/* 上方菜单 */
function switchTab(tabpage, tabid) {
    // alert(tabpage+tabid);
    var oItem = document.getElementById(tabpage).getElementsByTagName("li");
    for (var i = 0; i < oItem.length; i++) {
        var x = oItem[i];
        x.className = "";
    }
    $(document).ajaxStart(onStart).ajaxSuccess(onStop);
    if ('left_tab1' == tabid) {
        $("#ch_module").html("管理员模块");
        $("#en_module").html("Administrator module");

        // 异步加载"管理员菜单"下的菜单
        loadMenu('3', 'dleft_tab1');
    }
    // else  if('left_tab2' == tabid){
    //     $(document).ajaxStart(onStart).ajaxSuccess(onStop);
    //     // 异步加载"系统管理"下的菜单
    //     loadMenu('XITONGMOKUAI', 'dleft_tab1');
    // }
    else if ('left_tab3' == tabid) {
        $("#ch_module").html("教师模块");
        $("#en_module").html("Teacher module");
        // 异步加载"教师模块"下的菜单
        loadMenu('2', 'dleft_tab1');
    }else if('left_tab2' == tabid){
        $("#ch_module").html("学生模块");
        $("#en_module").html("Student module");
        // 异步加载"学生模块"下的菜单
        loadMenu('1', 'dleft_tab1');
    }
}


$(document).ready(function () {
    // alert(types);
    $(document).ajaxStart(onStart).ajaxSuccess(onStop);
    if (2 == types) {
        /** 默认异步加载"教师模块"目录  **/
        loadMenu('2', "dleft_tab1");
        // 默认展开所有节点
        if (zTree) {
            // 默认展开所有节点
            zTree.expandAll(true);
        }
    } else if(3 == types){
        /** 默认异步加载"管理员模块"目录  **/
        loadMenu('3', "dleft_tab1");
        // 默认展开所有节点
        if (zTree) {
            // 默认展开所有节点
            zTree.expandAll(true);
        }
    }else if(1 == types){
        /** 默认异步加载"学生模块"目录  **/
        loadMenu('1', "dleft_tab1");
        // 默认展开所有节点
        if (zTree) {
            // 默认展开所有节点
            zTree.expandAll(true);
        }
    }
});

function loadMenu(resourceType, treeObj) {
    let navUrl = '/user/navigation';
    let navType = 'post';
    let navData = {
    	"type":resourceType,
    }
    let navDataType = 'json';
    let nav = dataAjax(navUrl,navType,navData,navDataType);
    // alert(nav[0].data);
    let data = nav[0].data;


    // if ("3" == resourceType) {
    //     data = [
    //         {
    //             "accessPath": "",
    //             "checked": false,
    //             "delFlag": 0,
    //             "parentID": 1,
    //             "resourceCode": "",
    //             "resourceDesc": "",
    //             "resourceGrade": 2,
    //             "resourceID": 3,
    //             "resourceName": "用户管理",
    //             "resourceOrder": 0,
    //             "resourceType": "3"
    //         },
    //         {
    //             "accessPath": "teachUserInformation.html",
    //             "checked": false,
    //             "delFlag": 0,
    //             "parentID": 3,
    //             "resourceCode": "",
    //             "resourceDesc": "",
    //             "resourceGrade": 3,
    //             "resourceID": 7,
    //             "resourceName": "考生信息管理",
    //             "resourceOrder": 0,
    //             "resourceType": "3"
    //         },
    //         {
    //             "accessPath": "teachUserInformation.html",
    //             "checked": false,
    //             "delFlag": 0,
    //             "parentID": 3,
    //             "resourceCode": "",
    //             "resourceDesc": "",
    //             "resourceGrade": 3,
    //             "resourceID": 8,
    //             "resourceName": "教师信息管理",
    //             "resourceOrder": 0,
    //             "resourceType": "3"
    //         },
    //     ];
    // } else if ("2" == resourceType) {
    //     data = [
    //         {
    //             "accessPath": "",
    //             "checked": false,
    //             "delFlag": 0,
    //             "parentID": 1,
    //             "resourceCode": "",
    //             "resourceDesc": "",
    //             "resourceGrade": 2,
    //             "resourceID": 2,
    //             "resourceName": "个人中心",
    //             "resourceOrder": 0,
    //             "resourceType": "2"
    //         },
    //         {
    //             "accessPath": "introduce.html",
    //             "checked": false,
    //             "delFlag": 0,
    //             "parentID": 2,
    //             "resourceCode": "",
    //             "resourceDesc": "",
    //             "resourceGrade": 3,
    //             "resourceID": 5,
    //             "resourceName": "用户信息",
    //             "resourceOrder": 0,
    //             "resourceType": "2"
    //         },
    //         {
    //             "accessPath": "teachUserInformation.html",
    //             "checked": false,
    //             "delFlag": 0,
    //             "parentID": 2,
    //             "resourceCode": "",
    //             "resourceDesc": "",
    //             "resourceGrade": 3,
    //             "resourceID": 10,
    //             "resourceName": "密码修改",
    //             "resourceOrder": 0,
    //             "resourceType": "2"
    //         },
    //         {
    //             "accessPath": "",
    //             "checked": false,
    //             "delFlag": 0,
    //             "parentID": 1,
    //             "resourceCode": "",
    //             "resourceDesc": "",
    //             "resourceGrade": 2,
    //             "resourceID": 16,
    //             "resourceName": "试题维护模块",
    //             "resourceOrder": 0,
    //             "resourceType": "2"
    //         },
    //         {
    //             "accessPath": "",
    //             "checked": false,
    //             "delFlag": 0,
    //             "parentID": 16,
    //             "resourceCode": "",
    //             "resourceDesc": "",
    //             "resourceGrade": 2,
    //             "resourceID": 17,
    //             "resourceName": "试题维护",
    //             "resourceOrder": 0,
    //             "resourceType": "2"
    //         },
    //         {
    //             "accessPath": "",
    //             "checked": false,
    //             "delFlag": 0,
    //             "parentID": 1,
    //             "resourceCode": "",
    //             "resourceDesc": "",
    //             "resourceGrade": 2,
    //             "resourceID": 24,
    //             "resourceName": "试题设置模块",
    //             "resourceOrder": 0,
    //             "resourceType": "2"
    //         },
    //         {
    //             "accessPath": "",
    //             "checked": false,
    //             "delFlag": 0,
    //             "parentID": 24,
    //             "resourceCode": "",
    //             "resourceDesc": "",
    //             "resourceGrade": 2,
    //             "resourceID": 25,
    //             "resourceName": "试题设置",
    //             "resourceOrder": 0,
    //             "resourceType": "2"
    //         },
    //         {
    //             "accessPath": "",
    //             "checked": false,
    //             "delFlag": 0,
    //             "parentID": 1,
    //             "resourceCode": "",
    //             "resourceDesc": "",
    //             "resourceGrade": 2,
    //             "resourceID": 34,
    //             "resourceName": "成绩管理模块",
    //             "resourceOrder": 0,
    //             "resourceType": "2"
    //         },
    //         {
    //             "accessPath": "",
    //             "checked": false,
    //             "delFlag": 0,
    //             "parentID": 34,
    //             "resourceCode": "",
    //             "resourceDesc": "",
    //             "resourceGrade": 2,
    //             "resourceID": 35,
    //             "resourceName": "考生成绩查询",
    //             "resourceOrder": 0,
    //             "resourceType": "2"
    //         },
    //         {
    //             "accessPath": "",
    //             "checked": false,
    //             "delFlag": 0,
    //             "parentID": 34,
    //             "resourceCode": "",
    //             "resourceDesc": "",
    //             "resourceGrade": 2,
    //             "resourceID": 36,
    //             "resourceName": "考生历史成绩查询",
    //             "resourceOrder": 0,
    //             "resourceType": "2"
    //         }
    //     ];
    // }else if("1" == resourceType){
    //     data = [
    //         {
    //             "accessPath": "",
    //             "checked": false,
    //             "delFlag": 0,
    //             "parentID": 1,
    //             "resourceCode": "",
    //             "resourceDesc": "",
    //             "resourceGrade": 2,
    //             "resourceID": 3,
    //             "resourceName": "用户管理",
    //             "resourceOrder": 0,
    //             "resourceType": "3"
    //         },
    //         {
    //             "accessPath": "teachUserInformation.html",
    //             "checked": false,
    //             "delFlag": 0,
    //             "parentID": 3,
    //             "resourceCode": "",
    //             "resourceDesc": "",
    //             "resourceGrade": 3,
    //             "resourceID": 7,
    //             "resourceName": "个人中心",
    //             "resourceOrder": 0,
    //             "resourceType": "3"
    //         },
    //     ];
    // }
    // alert(JSON.stringify(data))
    // 如果返回数据不为空，加载"业务模块"目录
    if (data != null) {
        // $.fn.zTree.init().unbind();
        // 将返回的数据赋给zTree
        $.fn.zTree.init($("#" + treeObj), setting, data);
//              alert(treeObj);
        zTree = $.fn.zTree.getZTreeObj(treeObj);
        if (zTree) {
            // 默认展开所有节点
            zTree.expandAll(true);
        }
    }
}

//ajax start function
function onStart() {
    $("#ajaxDialog").show();
}

//ajax stop function
function onStop() {
    // 		$("#ajaxDialog").dialog("close");
    $("#ajaxDialog").hide();
}